Как вы помните, элементов управления MFC всего три. Давайте посмотрим как их использовать на основе класса CBitmapButton.
Создаем приложение на базе диалогового окна с именем TestButton. Добавляем переменную класса к классу диалога.
class CTestButtonDlg : public CDialog
{
......
//}}AFX_VIRTUAL
CBitmapButton cb;
// Implementation
protected:
......
};
Создаем идентификатор элемента в файле ресурсов:
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by TestButton.rc
//
......
#define IDS_ABOUTBOX 101
#define ID_ACTIVE 103
#define IDD_TESTBUTTON_DIALOG 102
......
Создаем элемент управления в функции OnInitDialog() класса диалога.
BOOL CTestButtonDlg::OnInitDialog()
{
......
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
cb.Create("",BS_OWNERDRAW|WS_VISIBLE,CRect(0,0,50,50),this,ID_ACTIVE );
return TRUE; // return TRUE unless you set the focus to a control
}
Указать картинку для кнопки:
BOOL CTestButtonDlg::OnInitDialog()
{
......
cb.Create("",BS_OWNERDRAW|WS_VISIBLE,CRect(0,0,50,50),this,ID_ACTIVE );
cb.LoadBitmaps(IDB_BITMAP1);
return TRUE; // return TRUE unless you set the focus to a control
}
Картинку можно просто создать в ресурсах Insert - Bitmap. Я ее создал. А вот результат работы приложения:
